#ifndef BINARY_THREAD_TREE_H_
#define BINARY_THREAD_TREE_H_
#include "../adt.h"
/*Link == 0 : point to left child or right 
* Thread == 1 : point to pre or post 
*/
typedef int TElemType;
typedef enum { Link, Thread} PointerTag;

typedef struct BiThrNode
{
    TElemType data;
    struct BiThrNode *lchild, *rchild;
    PointerTag LTag;
    PointerTag RTag;
} BiThrNode, *BiThrTree; 

/*InOrderTraverse 
*/
BiThrTree pre; // global variant
void InThreading(BiThrTree p);

/*InOrderTraverse_Thr*/
Status InOrderTraverse_Thr(BiThrTree T);
#endif